﻿#region Copyright Notice
// 
// 
// Copyright (c) 2009-2010 Anindya Chatterjee
// 
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// 
//     http://www.apache.org/licenses/LICENSE-2.0
// 
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// 
// 
// 
#endregion
namespace GCore
{
    /// <summary>
    /// Represents the method that will handle the <see cref="GService&lt;TFeed,TEntry&gt;.GetAllFeedCompleted"/> event of a <see cref="GService&lt;TFeed,TEntry&gt;"/>.
    /// </summary>
    /// <typeparam name="TFeed">Type of atom feed for the service.</typeparam>
    /// <typeparam name="TEntry">Type of atom feed entry for the service.</typeparam>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">A <see cref="GetAllFeedCompletedEventArgs&lt;TFeed,TEntry&gt;"/> containing event data.</param>
    public delegate void GetAllFeedCompletedEventHandler<TFeed, TEntry>(
        object sender, GetAllFeedCompletedEventArgs<TFeed, TEntry> e)
        where TFeed : GFeed<TEntry>, new()
        where TEntry : GEntry, new();

    /// <summary>
    /// Represents the method that will handle the <see cref="GService&lt;TFeed,TEntry&gt;.SubmitNewEntryCompleted"/> event of a <see cref="GService&lt;TFeed,TEntry&gt;"/>.
    /// </summary>
    /// <typeparam name="TFeed">Type of atom feed for the service.</typeparam>
    /// <typeparam name="TEntry">Type of atom feed entry for the service.</typeparam>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">A <see cref="SubmitNewEntryCompletedEventArgs&lt;TFeed,TEntry&gt;"/> containing event data.</param>
    public delegate void SubmitNewEntryCompletedEventHandler<TFeed, TEntry>(
        object sender, SubmitNewEntryCompletedEventArgs<TFeed, TEntry> e)
        where TFeed : GFeed<TEntry>, new()
        where TEntry : GEntry, new();
}